Captured from STK to StkNG converter with 127245 PGN input.
by Tehani, Thank you!
A3 02 XX AY ZZ
Rudder angle, high resolution single data (Captured from STK to StkNG converter with 127245 PGN input)
AY & 0x80 = 0x80 (data is valid) AY & 0x40 = 0x40 (angle is negative, unnecessary in the next expression)
angle = ((signed integer) (AYXX << 1)) / 40(decimal)
Check: ZZ = ~(02 ^ XX ^ AY), ZZ = NEG(02 XOR XX XOR AY)
Example for positive angle:
A3 02 2C 81 50
AYXX = 0x812C, angle = ((int16_t) (0x812C << 1)) / 40 (int16_t) 0x258 / 40 = +15.00 degrees
Example for negative angle:
A3 02 38 FF 3A
AYXX = 0xFF38, angle = ((int16_t) (0xFF38 << 1)) / 40 (int16_t) 0xFE70 / 40 = -10.00 degrees * Maximum theoretical Range: +819.15 to -819.20 degrees, in the practice: +/-rudder max deg. * Theoretical Resolution: +/-0.05 degrees
Corresponding NMEA sentence: RSA
AC K2 XX YY ZZ XTE * X-track error, high resolution single data * (Captured from STK to StkNG converter with 129283 PGN input)
Direction to steer:
K & 1 = 0 Steer left to correct error K & 1 = 1 Steer right to correct error K & 2 = 2: data is valid
xte distance = YYXX/1000 nautical miles (unsigned) Check: ZZ = ~(K2 ^ XX ^ YY), ZZ = NEG(K2 XOR XX XOR YY) * Maximum Range: 0 to +/-65.536 nautical miles. * Resolution: +/-0.001 nautical miles
Corresponding NMEA sentences: XTE, RMB, APB
50 Z2 XX YY KK
LAT position:
XX degrees(unsigned), abs((int16) KKYY) / 100 minutes
(ATTENTION: abs(value) != (value & 0x7fff))
51 Z2 XX YY KK
LON position:
XX degrees(unsigned), abs((int16) KKYY) / 100 minutes
(ATTENTION: abs(value) != (value & 0x7fff))
53 U0 VW
Magnetic Course over Ground (MCOG) in degrees (magnetic north referenced): (Corrected and Example added)
The Magnetic Course may be offset by the Compass Variation (see datagram 99) to get the Course Over Ground (COG). Codification Example:
Example to obtain COG:
$GPRMC,xxxxxx,A,xxxx.xxx,N,xxxxx.xxx,E,07.2,257.5, xxxxxx,02,W,A*xx (GPS Resolution: 0.1 deg) $GPVTG,257.5,T,259.5,M,7.2,N,13.3,K*xx (VTG: Field 1 = COG, Field 3 = MCOG)
Corresponding NMEA sentences: RMC, VTG
84 U6 VW XY 0Z 0M RR SS TT
Compass heading in degrees:
INCORRECT, incompatible with turn info, Replaced with:
Code:
Everything below is correct:
Turning direction:
Autopilot course in degrees:
Z & 0x2 = 0 : Autopilot in Standby-Mode Z & 0x2 = 2 : Autopilot in Auto-Mode Z & 0x4 = 4 : Autopilot in Vane Mode (WindTrim), requires regular "10" datagrams Z & 0x8 = 8 : Autopilot in Track Mode M: Alarms + audible beeps M & 0x04 = 4 : Off course M & 0x08 = 8 : Wind Shift
Rudder position: RR degrees (positive values steer right,
SS & 0x01 : when set, turns off heading display on 600R control. SS & 0x02 : always on with 400G SS & 0x08 : displays “NO DATA” on 600R SS & 0x10 : displays “LARGE XTE” on 600R SS & 0x80 : Displays “Auto Rel” on 600R TT : Always 0x08 on 400G computer, always 0x05 on 150(G) computer
Corresponding NMEA sentences: HDG, RSA, HSC
9C U1 VW RR
Compass heading in degrees:
INCORRECT, incompatible with turn info, Replaced with:
Turning direction:
Rudder position: RR degrees (positive values steer right,
9E FC DC DC DC XX AA BB YY OO PP GG HH II JJ
Waypoint definition
DC DC DC
XX: Degrees LAT, YY: Degrees LON
GG HH II JJ: Last four characters of waypoint name
Seatalk to STKNG output example:
9E FD 00 00 00 29 CE 0B 02 B7 89 30 30 30 31 88 (Waypoint name: "0001")
These “NOTES” have been added because in Mr. Knauf's original text he makes distinctions between devices, and he duplicates the codes of the keys by changing only the identifier of the sender.
Jose Luis [Tehani]
0x00 - Depth below transducer. 0x10 - Apparent wind angle. 0x11 - Apparent wind speed. 0x20 - Speed through water. 0x21 - Trip Mileage. 0x22 - Total Mileage. 0x23 - Water temperature. 0x25 - Total & Trip Log. (Is more precise than 0x21, 0x22) 0x27 - Water temperature. 0x30 - Set lamp Intensity. 0x54 - GMT-time. 0x56 - Date. 0x57 - Sat Info. 0x82 - Target waypoint name. 0xA2 - Arrival Info. 0xA4 - Device Identification (Query, termination and answer)
0x05 Engine. 0x66 Wind Alarms.
0x86 X1 YY yy Keystroke /* X=1: Sent by Z101 remote control to increment/decrement course of autopilot.
11 60 DF +1 & -1 pressed longer than 1 second 11 61 9E -1 & -10 pressed longer than 1 second 11 62 9D +1 & +10 pressed longer than 1 second 11 64 9B +10 & -10 pressed longer than 1 second (why not 11 68 97 ?)
X1 01 FE Auto X1 02 FD Standby X1 03 FC When the pilot is in AUTO mode, it switchs to TRACK mode if NAV data are available: 0x85 datagram X1 04 FB disp (in display mode or page in auto chapter = advance) X1 05 FA -1 (in auto and wind VANE modes) X1 06 F9 -10 (in auto and wind VANE modes) X1 07 F8 +1 (in auto and wind VANE modes) X1 08 F7 +10 (in auto and wind VANE modes) X1 09 F6 -1 (in resp or rudder gain mode) X1 0A F5 +1 (in resp or rudder gain mode) X1 21 DE -1 & -10 (port tack in AUTO and wind VANE modes, doesn´t work on ST600R?) X1 22 DD +1 & +10 (stb tack in AUTO and wind VANE modes) X1 23 DC Standby & Auto (pilot switchs to wind VANE mode if wind data are available: 0x10 and 0x11 datagrams) X1 28 D7 +10 & -10 (in auto mode) (Older equipment, equivalent to X1 03 FC: entering in TRACK mode)
X1 2E D1 +1 & -1 (Response Display) X1 41 BE Auto pressed longer X1 42 BD Standby pressed longer X1 43 BC Track pressed longer X1 44 BB Disp pressed longer (maybe equivalent to 30 00 XX, lamp intensity?) X1 45 BA -1 pressed longer (in auto mode) X1 46 B9 -10 pressed longer (in auto mode) X1 47 B8 +1 pressed longer (in auto mode) X1 48 B7 +10 pressed longer (in auto mode) X1 63 9C Standby & Auto pressed longer (previous wind angle) X1 68 97 +10 & -10 pressed longer (in auto mode) X1 6E 91 +1 & -1 pressed longer (Rudder Gain Display) X1 80 7F -1 pressed (repeated 1x per second) X1 81 7E +1 pressed (repeated 1x per second) X1 82 7D -10 pressed (repeated 1x per second) X1 83 7C +10 pressed (repeated 1x per second) X1 84 7B +1, -1, +10 or -10 released
Ocenav already does this see
I believe this is from ShipModule's Miniplex series and could be the basis for a plugin or even hardware that directly links everything.